<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // 1.some循环 ： 一些 循环的返还值 只要有一个true 那么最终结果就是true 否则就是false
        // var arr = [false,false,true];  //是一个或者关系；

        // var res =  arr.some(function(item,key,arr){
        //     // console.log(item,key,arr);
        //     // return true;
        //     return item;
        // })
        // console.log(res);

        // 2.every：只有所有的都为true 结果才是true ，只要有一个false 结果就是false
        // var arr = [true,true,true];  // 且关系
        // var res =   arr.every(function(item){
        //     return item;
        // })
        // console.log(res);


        //3.扩展 ；

        // 1.实现一个forEach方法；
        // var arr = ["张三","李四","王五"];
        // arr.forEach(function(item,key,arr){
        //     console.log(item,key,arr);
        // })

        // function myForEach(arr,fn){
        //     for(var i=0;i<arr.length;i++){
        //         fn(arr[i],i,arr);
        //     }
        // }

        // myForEach(arr,function(item,key,arr){
        //     console.log(item,key,arr);
        // })


        // 2.实现一个map循环
        var arr = ["张三", "李四", "王五"];


        // function myMap(arr, fn) {
        //     var resArr = [];
        //     for (var i = 0; i < arr.length; i++) {
        //         var res = fn(arr[i], i, arr);
        //         resArr.push(res);
        //     }
        //     return resArr;
        // }

        // var res = myMap(arr, function (item) {
        //     return item;
        // })

        // console.log(res);


        // 把myMap方法加入到所有的arr里面；
        Array.prototype.myMap = function (fn) {
            var resArr = [];
            for (var i = 0; i < this.length; i++) {
                var res = fn(this[i], i, this);
                resArr.push(res);
            }
            return resArr;
        }

        var res = arr.myMap(function (item, key, arr) {
            console.log(item, key, arr);
            return item;

        })
        console.log(res);




    </script>
</body>

</html>